home *** CD-ROM | disk | FTP | other *** search
- (**************************************************************************
-
- $RCSfile: MathIEEEDoubBas.mod $
- Description: Interface to mathieeedoubbas.library
-
- Created by: fjc (Frank Copeland)
- $Revision: 3.8 $
- $Author: fjc $
- $Date: 1995/06/04 23:13:14 $
-
- Includes Release 40.15
-
- (C) Copyright 1985-1993 Commodore-Amiga, Inc.
- All Rights Reserved
-
- Oberon-A interface Copyright © 1994-1995, Frank Copeland.
- This file is part of the Oberon-A Interface.
- See Oberon-A.doc for conditions of use and distribution.
-
- ***************************************************************************)
-
- <* STANDARD- *>
-
- MODULE [2] MathIEEEDoubBas;
-
- (*
- This module is not defined. This is because the compiler cannot yet
- handle the LONGREAL as an 8-byte IEEE double-precision real.
- Have patience.
- *)
-
- (*
- IMPORT SYS := SYSTEM, Kernel, e := Exec, m := MathLibrary;
-
-
- (*-- MathIEEEDoubBas Base variable --------------------------------------*)
-
- CONST
-
- pi * = 3.141592653589793D;
-
- twoPi * = 6.283185307179586D;
- pi2 * = 1.570796326794897D;
- pi4 * = 0.785398163397448D;
-
- e * = 2.718281828459045D;
-
- log10 * = 2.302585092994046D;
- fpTen * = 10.0D;
- fpOne * = 1.0D;
- fpHalf * = 0.5D;
- fpZero * = 0.0D;
-
- mathIEEEDoubBasName * = "mathieeedoubbas.library";
-
- VAR
-
- base * : m.MathIEEEBasePtr;
-
-
- (*-- Library Functions ------------------------------------------------*)
-
-
- PROCEDURE Fix* [base,-30]
- ( parm [0] : e.DOUBLE )
- : LONGINT;
-
- PROCEDURE Flt* [base,-36]
- ( integer [0] : LONGINT )
- : e.DOUBLE;
-
- PROCEDURE Cmp* [base,-42]
- ( leftParm [0] : e.DOUBLE;
- rightParm [1] : e.DOUBLE )
- : LONGINT;
-
- PROCEDURE Tst* [base,-48]
- ( parm [0] : e.DOUBLE )
- : LONGINT;
-
- PROCEDURE Abs* [base,-54]
- ( parm [0] : e.DOUBLE )
- : e.DOUBLE;
-
- PROCEDURE Neg* [base,-60]
- ( parm [0] : e.DOUBLE )
- : e.DOUBLE;
-
- PROCEDURE Add* [base,-66]
- ( leftParm [0] : e.DOUBLE;
- rightParm [1] : e.DOUBLE )
- : e.DOUBLE;
-
- PROCEDURE Sub* [base,-72]
- ( leftParm [0] : e.DOUBLE;
- rightParm [1] : e.DOUBLE )
- : e.DOUBLE;
-
- PROCEDURE Mul* [base,-78]
- ( leftParm [0] : e.DOUBLE;
- rightParm [1] : e.DOUBLE )
- : e.DOUBLE;
-
- PROCEDURE Div* [base,-84]
- ( dividend [0] : e.DOUBLE;
- divisor [1] : e.DOUBLE )
- : e.DOUBLE;
-
- PROCEDURE Floor* [base,-90]
- ( parm [0] : e.DOUBLE )
- : e.DOUBLE;
-
- PROCEDURE Ceil* [base,-96]
- ( parm [0] : e.DOUBLE )
- : e.DOUBLE;
-
-
- (*-- Library Base variable --------------------------------------------*)
-
- <*$LongVars-*>
-
- (*-----------------------------------*)
- PROCEDURE* [0] CloseLib (VAR rc : LONGINT);
-
- BEGIN (* CloseLib *)
- IF base # NIL THEN e.CloseLibrary (base) END
- END CloseLib;
-
- BEGIN
- base := SYS.VAL (m.MathIEEEBasePtr,
- e.OpenLibrary (mathIEEEDoubBasName, e.libraryMinimum));
- IF base = NIL THEN HALT (100) END;
- Kernel.SetCleanup (CloseLib)
- *)
- END MathIEEEDoubBas.
-